// 导入koa，和koa 1.x不同，在koa2中，我们导入的是一个class，因此用大写的Koa表示:
const Koa = require('koa');
const router = require('koa-router')();
const bodyParser = require('koa-bodyparser');
const controller = require('./controller');
const userModel = require('./DBconfig/dbmysql.js');   //数据库方法
// 创建一个Koa对象表示web app本身:
const app = new Koa();

// 配置服务端模板渲染引擎中间件
const views = require('koa-views');
// 配置模板文件目录和后缀名
app.use(views(__dirname + '/views', {
    extension: 'ejs'
}));


app.use(bodyParser());
// add controllers:
app.use(controller());
// 对于任何请求，app将调用该异步函数处理请求：
app.use(async (ctx, next) => {
    console.log(`Process ${ctx.request.method} ${ctx.request.url}...`);
    await next();
});



app
    .use(router.routes())
    .use(router.allowedMethods());

// 在端口3000监听:
app.listen(3000);
console.log('app started at port 3000...');

module.exports = {
    userModel
};